package org.example.service.api;

import org.example.util.JSONResult;
import org.springframework.stereotype.Service;

/**
 * 充值记录表相关操作
 * @param <T>
 */
@Service
public interface DepositServiceApi <T>{

    /**
     * 充值记录查询
     * @param depositId 充值记录id
     * @return
     */
    JSONResult adminQueryDepositById(Integer depositId);

    /**
     * 寝室id 删除充值记录
     * @param dormitoryId
     * @return
     */
    JSONResult adminDeleteDepositByDormitoryId(Integer dormitoryId);

    /**
     * 通过充值记录删除
     * @param depositId 充值记录id
     * @return
     */
    JSONResult adminDeleteDepositById(Integer depositId);

    /**
     * 通过用户id删除
     * @param userId 用户id
     * @return
     */
    JSONResult adminDeleteDepositByUserId(Integer userId);

    /**
     * 寝室id
     * @param userId 用户id
     * @param dormitoryId 寝室id
     * @param userFee 充值费用
     * @return
     */
    JSONResult adminAddDepositMonkey(Integer userId, Integer dormitoryId, Integer userFee);

    /**
     * 修改充值记录
     * @param dormitoryId 寝室id
     * @param userId    用户id
     * @param userFee   用户费用
     * @param depositId 充值记录
     * @return
     */
    JSONResult adminAlterDepositInfo(Integer dormitoryId, Integer userId, Integer userFee, Integer depositId);
}
